Skip to content

Conversation

@cricketthomas
Copy link
Member

@cricketthomas cricketthomas commented Jul 5, 2025

This pull request introduces several improvements and updates across the project. The most significant changes are the addition of a new SortService for consistent alphabetical sorting of key vaults, resource groups, and subscriptions, as well as various dependency updates and branding changes. The sorting logic has been integrated throughout the ViewModels to ensure a more organized and user-friendly UI. Additionally, several package dependencies have been updated to their latest versions, and project identifiers have been updated to reflect new branding.

Key improvements and updates:

Sorting and UI Consistency

  • Added a new SortService (SortService.cs) that provides methods to sort key vaults, resource groups, and subscriptions alphabetically, with special handling to keep "Quick Access" at the top. This service is now used throughout the ViewModels to ensure consistent sorting of collections in the UI.
  • Integrated the new sorting logic into KeyVaultTreeListViewModel.cs to sort quick access vaults, resource groups, and subscriptions after modifications, improving the organization and predictability of displayed data. [1] [2] [3] [4] [5]

Dependency Updates

  • Updated several NuGet package dependencies to their latest versions in both Desktop.csproj and KeyVaultExplorer.csproj, including Avalonia.Desktop, Microsoft.Extensions.Caching.Memory, Microsoft.Data.Sqlite.Core, FluentAvaloniaUI, Microsoft.Identity.Client.Extensions.Msal, Azure.ResourceManager.KeyVault, Azure.Security.KeyVault.Keys, and others for improved stability and features. [1] [2]

Branding and Identifier Changes

  • Changed various identifiers and schema names from sidesteplabs to cricketthomas in the macOS bundle ID, Linux keyring schema, and iOS keychain security group, reflecting a rebranding of the application. [1] [2] [3]

Miscellaneous

  • Updated GitHub links in the settings page to point to the new repository location under cricketthomas/AzureKeyVaultExplorer.
  • Minor code cleanup, such as removing unused using directives in KeyVaultTreeListViewModel.cs. [1] [2]

These changes collectively improve the maintainability, usability, and branding consistency of the application.

@cricketthomas cricketthomas requested a review from Copilot October 24, 2025 11:28
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR introduces version 1.0.315, which adds alphabetical sorting functionality for key vaults, resource groups, and subscriptions throughout the application. The changes ensure that items are displayed in a consistent, sorted order across the tree view.

Key Changes

  • Added a new SortService class with methods to sort key vaults, resource groups, and subscriptions alphabetically
  • Integrated sorting calls throughout KeyVaultTreeListViewModel when loading and pinning vaults
  • Modified FilterService to sort filtered results using the new sorting service

Reviewed Changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
KeyVaultExplorer/ViewModels/SortService.cs New service class providing alphabetical sorting methods for different vault-related collections
KeyVaultExplorer/ViewModels/KeyVaultTreeListViewModel.cs Integrated sorting calls when loading subscriptions, resource groups, and key vaults; removed unused imports
KeyVaultExplorer/ViewModels/FilterService.cs Updated to use SortService for sorting filtered results

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.


var searched = await Task.Run(() =>
{
return new ObservableCollection<KvSubscriptionModel>(_treeViewList);
Copy link

Copilot AI Oct 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 139 is unreachable code. The first return statement will always execute, preventing line 140 from ever being reached. Remove line 139.

Suggested change
return new ObservableCollection<KvSubscriptionModel>(_treeViewList);

Copilot uses AI. Check for mistakes.
};

filteredSubscriptions.Add(filteredSubscription);
new List<KvSubscriptionModel>().Add(filteredSubscription);
Copy link

Copilot AI Oct 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This creates a new list, adds an item to it, but immediately discards the list without storing it anywhere. The filtered subscription is lost. This should be adding to a collection that is used later.

Copilot uses AI. Check for mistakes.

return filteredSubscriptions;
// Sort the filtered results alphabetically
var sortedSubscriptions = SortService.SortSubscriptions(new List<KvSubscriptionModel>());
Copy link

Copilot AI Oct 24, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Passing an empty list to SortSubscriptions will always return an empty collection. This should be passing the filtered subscriptions collection instead.

Copilot uses AI. Check for mistakes.
@cricketthomas cricketthomas requested a review from Copilot October 31, 2025 12:14
Upgraded the `Microsoft.Identity.Client.Extensions.Msal` package from version 4.77.1 to 4.78.0. This update may include bug fixes, performance enhancements, or new features provided in the latest release.
@cricketthomas cricketthomas marked this pull request as ready for review October 31, 2025 12:16
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

Copilot reviewed 9 out of 9 changed files in this pull request and generated 1 comment.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.


var searched = await Task.Run(() =>
{
return new ObservableCollection<KvSubscriptionModel>(_treeViewList);
Copy link

Copilot AI Oct 31, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Line 139 makes line 140 unreachable. Remove line 139 so that the sorting logic on line 140 is executed.

Suggested change
return new ObservableCollection<KvSubscriptionModel>(_treeViewList);

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants